perm filename INFIX.LSP[BNF,JRA] blob
sn#030172 filedate 1973-03-21 generic text, type T, neo UTF8
00100
00200
00300 (DEFPROP <PRED>
00400 (LAMBDA NIL
00500 (NLRR (QUOTE PRED)
00600 (FUNCTION
00700 (LAMBDA NIL
00800 (COND ((AND (<PREPREDLET>) (<ITMLST>)) (CONS (STK 1) (STK 0)))
00900 ((AND (<PREPREDLET>)) (CONS (STK 0) (CONS (CONS (QUOTE %) NIL) NIL)))
01000 ((AND (<INFPREDLET>)) (CONS (STK 0) (CONS (CONS (QUOTE %) NIL) NIL)))
01100 ((AND (<TM>) (<INFPREDLET>) (<TM1>)) (CONS (STK 1) (CONS (STK 2) (CONS (STK 0) NIL))))
01200 (*NIL*))))))
01300 EXPR)
01400
01500 (DEFPROP <ITMLST>
01600 (LAMBDA NIL (NLRR (QUOTE ITMLST) (FUNCTION (LAMBDA NIL (COND ((AND (CH /() (<ITMS>)) (STK 0)) (*NIL*))))))
01700 EXPR)
01800
01900 (DEFPROP <ITMS>
02000 (LAMBDA NIL
02100 (NLRR (QUOTE ITMS)
02200 (FUNCTION
02300 (LAMBDA NIL
02400 (COND ((AND (<TM2>) (<ITMS>)) (CONS (STK 1) (STK 0)))
02500 ((AND (<TM>) (CH /))) (CONS (STK 1) NIL))
02600 (*NIL*))))))
02700 EXPR)
02800
02900 (DEFPROP <TM>
03000 (LAMBDA NIL
03100 (LRR (QUOTE TM)
03200 (FUNCTION
03300 (LAMBDA NIL
03400 (COND ((AND (<IVAR>)) (STK 0))
03500 ((AND (<PREFN>) (<ITMLST>)) (CONS (STK 1) (STK 0)))
03600 ((AND (<PREFN>)) (CONS (STK 0) NIL))
03700 ((AND (CH /() (<TM>) (CH /))) (STK 1))
03800 (*NIL*))))
03900 (FUNCTION
04000 (LAMBDA (<*>) (COND ((AND (<INFN>) (<TM1>)) (CONS (STK 1) (CONS <*> (CONS (STK 0) NIL)))) (*NIL*))))))
04100 EXPR)
04200
04300 (DEFPROP <TM1>
04400 (LAMBDA NIL (NLRR (QUOTE TM1) (FUNCTION (LAMBDA NIL (COND ((AND (<TM>)) (STK 0)) (*NIL*))))))
04500 EXPR)
04600
04700 (DEFPROP <TM2>
04800 (LAMBDA NIL (NLRR (QUOTE TM2) (FUNCTION (LAMBDA NIL (COND ((AND (<TM>) (CH /,)) (STK 1)) (*NIL*))))))
04900 EXPR)
05000
05100 (DEFPROP >PRED<
05200 (LAMBDA(%N)
05300 (OUTRUL %N
05400 (FUNCTION
05500 (LAMBDA NIL
05600 (COND
05610 ((AND(MATCH @(*(%)))(>PREPREDLET< 0))(STK0))
05620 ((AND(MATCH @(*(%)))(>INFPREDLET< 0))(STK0))
05650 ((AND (MATCH (QUOTE (* . *))) (>PREPREDLET< 1) (>ITMLST< 0)) (LIST (STK1) (STK0)))
05900 ((AND (MATCH (QUOTE (* * *))) (>INFPREDLET< 2) (>TM< 1) (>TM1< 0))
06000 (LIST (STK1) (STK2) (STK0))))))))
06100 EXPR)
06200
06300 (DEFPROP >ITMLST<
06400 (LAMBDA (%N) (OUTRUL %N (FUNCTION (LAMBDA NIL (COND ((>ITMS< 1) (LIST (QUOTE (:CH /()) (STK1))))))))
06500 EXPR)
06600
06700 (DEFPROP >ITMS<
06800 (LAMBDA(%N)
06900 (OUTRUL %N
07000 (FUNCTION
07100 (LAMBDA NIL
07200 (COND ((AND (MATCH (QUOTE (*))) (>TM< 0)) (LIST (STK0) (QUOTE (:CH /)))))
07300 ((AND (MATCH (QUOTE (* . *))) (>TM2< 1) (>ITMS< 0)) (LIST (STK1) (STK0))))))))
07400 EXPR)
07500
07600 (DEFPROP >TM<
07700 (LAMBDA(%N)
07800 (OUTRUL %N
07900 (FUNCTION
08000 (LAMBDA NIL
08100 (COND ((>IVAR< 1) (STK1))
08200 ((AND (MATCH (QUOTE (*))) (>PREFN< 0)) (STK0))
08300 ((AND (MATCH (QUOTE (* * *))) (>INFN< 2) (>TM< 1) (>TM1< 0)) (LIST (STK1) (STK2) (STK0)))
08400 ((AND (MATCH (QUOTE (* . *))) (>PREFN< 1) (>ITMLST< 0)) (LIST (STK1) (STK0)))
08500 ((>TM< 1) (LIST (QUOTE (:CH /()) (STK1) (QUOTE (:CH /))))))))))
08600 EXPR)
08700
08800 (DEFPROP >TM1<
08900 (LAMBDA (%N) (OUTRUL %N (FUNCTION (LAMBDA NIL (COND ((>TM< 1) (STK1)))))))
09000 EXPR)
09100
09200 (DEFPROP >TM2<
09300 (LAMBDA (%N) (OUTRUL %N (FUNCTION (LAMBDA NIL (COND ((>TM< 1) (LIST (STK1) (QUOTE (:CH /,)))))))))
09400 EXPR)